home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan).7z / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / games / kenka / kenka2s.lzh / c_init.inc < prev    next >
Text File  |  1998-09-07  |  14KB  |  692 lines

  1. *---------------------------------------
  2. *
  3. *    âLâââëâNâ^ü[âZâîâNâg
  4. *
  5. *    by Shiroh Nakaya
  6. *
  7. *---------------------------------------
  8.  
  9. chara_init:
  10.     move.w    #$0000,BG_CTRL            * âXâvâëâCâgò\Īénéeée
  11.  
  12.     lea.l    pal_data,a1
  13.     movea.l    #SP_PALETTE+32,a2        * âpâîâbâgâAâhâîâX
  14.  
  15.     move.w    #5-1,d0                * âpâîâbâgô]æù
  16. 1:
  17.     move.w    #8-1,d1
  18. 2:
  19.     move.l    (a1)+,(a2)+
  20.     dbra    d1,2b
  21.     lea.l    32(a1),a1
  22.     dbra    d0,1b
  23.  
  24.     movea.l    #pal_data+DAN_C,a1
  25.     move.w    #8-1,d1
  26. 2:
  27.     move.l    (a1)+,(a2)+
  28.     dbra    d1,2b
  29.     lea.l    32(a1),a1
  30.     move.w    #8-1,d1
  31. 2:
  32.     move.l    (a1)+,(a2)+
  33.     dbra    d1,2b
  34.     lea.l    32(a1),a1
  35.     move.w    #8-1,d1
  36. 2:
  37.     move.l    (a1)+,(a2)+
  38.     dbra    d1,2b
  39.  
  40.     lea.l    pcg_data,a0
  41.     movea.l    a0,a1
  42.     movea.l    #PCG_UP,a2
  43.     movea.l    #SP_SCROLL,a6
  44.  
  45.     adda.l    #CUR,a1                * âJü[â\âïâpâ^ü[âôé¿éµé╤
  46.     move.w    #96-1,d0            * âOâëâtâBâbâNëBé╡éaéfâpâ^ü[âôô]æù
  47. @@:
  48.     move.l    (a1)+,(a2)+
  49.     dbra    d0,@b
  50.     move.w    #16,(a6)+
  51.     move.w    #192,(a6)+
  52.     move.w    #$0100,(a6)+
  53.     move.w    #3,(a6)+
  54.  
  55.     move.w    #240,(a6)            * ébéoétÉφâéü[âhé┼é═ùpé╚é╡
  56.     tst.w    c_or_h
  57.     bne    @f
  58.     clr.w    (a6)
  59. @@:
  60.     addq.l    #2,a6
  61.     move.w    #192,(a6)+
  62.     move.w    #$0101,(a6)+
  63.     move.w    #3,(a6)+
  64.  
  65.     movea.l    #PCG_DOWN,a3            * âOâëâtâBâbâNé≡ëBé╖
  66.     move.l    #$0109_0109,d3
  67.     move.w    #32-1,d1
  68. 1:
  69.     movea.l    a3,a4
  70.     move.w    #16-1,d2
  71. 2:
  72.     move.l    d3,(a4)+
  73.     dbra    d2,2b
  74.     adda.w    #128,a3
  75.     dbra    d1,1b
  76.  
  77.     movea.l    a0,a1                * è┐Äaâpâ^ü[âôô]æù
  78.     adda.l    #KAN_K,a1
  79.     move.w    #256-1,d0
  80. @@:
  81.     move.l    (a1)+,(a2)+
  82.     dbra    d0,@b
  83.  
  84.     move.w    #208,d2
  85.     move.w    #$0103,d7
  86.     move.w    #4-1,d3
  87. 1:
  88.     move.w    #2-1,d4
  89.     move.w    #16,d1
  90. 2:
  91.     move.w    d1,(a6)+
  92.     move.w    d2,(a6)+
  93.     move.w    d7,(a6)+
  94.     move.w    #$0003,(a6)+
  95.     addi.w    #16,d1
  96.     addq.w    #1,d7
  97.     dbra    d4,2b
  98.     addi.w    #16,d2
  99.     dbra    d3,1b
  100.  
  101.     movea.l    a0,a1                * âWâçâôâpâ^ü[âôô]æù
  102.     adda.l    #JOH_K,a1
  103.     move.w    #256-1,d0
  104. @@:
  105.     move.l    (a1)+,(a2)+
  106.     dbra    d0,@b
  107.     move.w    #208,d2
  108.     move.w    #$0203+8,d7
  109.  
  110.     move.w    #4-1,d3
  111. 1:
  112.     move.w    #2-1,d4
  113.     move.w    #48,d1
  114. 2:
  115.     move.w    d1,(a6)+
  116.     move.w    d2,(a6)+
  117.     move.w    d7,(a6)+
  118.     move.w    #$0003,(a6)+
  119.     addi.w    #16,d1
  120.     addq.w    #1,d7
  121.     dbra    d4,2b
  122.  
  123.     addi.w    #16,d2
  124.     dbra    d3,1b
  125.  
  126.  
  127.     movea.l    a0,a1                * ânâôâRü[âpâ^ü[âôô]æù
  128.     adda.l    #HAN_K,a1
  129.     move.w    #256-1,d0
  130. @@:
  131.     move.l    (a1)+,(a2)+
  132.     dbra    d0,@b
  133.     move.w    #208,d2
  134.     move.w    #$0303+16,d7
  135.  
  136.     move.w    #4-1,d3
  137. 1:
  138.     move.w    #2-1,d4
  139.     move.w    #80,d1
  140. 2:
  141.     move.w    d1,(a6)+
  142.     move.w    d2,(a6)+
  143.     move.w    d7,(a6)+
  144.     move.w    #$0003,(a6)+
  145.     addi.w    #16,d1
  146.     addq.w    #1,d7
  147.     dbra    d4,2b
  148.  
  149.     addi.w    #16,d2
  150.     dbra    d3,1b
  151.  
  152.     movea.l    a0,a1                * âWâàâCâpâ^ü[âôô]æù
  153.     adda.l    #JUI_K,a1
  154.     move.w    #256-1,d0
  155. @@:
  156.     move.l    (a1)+,(a2)+
  157.     dbra    d0,@b
  158.     move.w    #208,d2
  159.     move.w    #$0403+24,d7
  160.  
  161.     move.w    #4-1,d3
  162. 1:
  163.     move.w    #2-1,d4
  164.     move.w    #112,d1
  165. 2:
  166.     move.w    d1,(a6)+
  167.     move.w    d2,(a6)+
  168.     move.w    d7,(a6)+
  169.     move.w    #$0003,(a6)+
  170.     addi.w    #16,d1
  171.     addq.w    #1,d7
  172.     dbra    d4,2b
  173.  
  174.     addi.w    #16,d2
  175.     dbra    d3,1b
  176.  
  177.     movea.l    a0,a1                * âOâèâhâpâ^ü[âôô]æù
  178.     adda.l    #GRI_K,a1
  179.     move.w    #256-1,d0
  180. @@:
  181.     move.l    (a1)+,(a2)+
  182.     dbra    d0,@b
  183.     move.w    #208,d2
  184.     move.w    #$0503+32,d7
  185.  
  186.     move.w    #4-1,d3
  187. 1:
  188.     move.w    #2-1,d4
  189.     move.w    #144,d1
  190. 2:
  191.     move.w    d1,(a6)+
  192.     move.w    d2,(a6)+
  193.     move.w    d7,(a6)+
  194.     move.w    #$0003,(a6)+
  195.     addi.w    #16,d1
  196.     addq.w    #1,d7
  197.     dbra    d4,2b
  198.  
  199.     addi.w    #16,d2
  200.     dbra    d3,1b
  201.  
  202.     movea.l    a0,a1                * â_âjü[âpâ^ü[âôô]æù
  203.     adda.l    #DAN_K,a1
  204.     move.w    #256-1,d0
  205. @@:
  206.     move.l    (a1)+,(a2)+
  207.     dbra    d0,@b
  208.     move.w    #208,d2
  209.     move.w    #$0603+40,d7
  210.  
  211.     move.w    #4-1,d3
  212. 1:
  213.     move.w    #2-1,d4
  214.     move.w    #176,d1
  215. 2:
  216.     move.w    d1,(a6)+
  217.     move.w    d2,(a6)+
  218.     move.w    d7,(a6)+
  219.     move.w    #$0003,(a6)+
  220.     addi.w    #16,d1
  221.     addq.w    #1,d7
  222.     dbra    d4,2b
  223.  
  224.     addi.w    #16,d2
  225.     dbra    d3,1b
  226.  
  227.     movea.l    a0,a1                * âiâôâVü[âpâ^ü[âôô]æù
  228.     adda.l    #NAN_K,a1
  229.     move.w    #256-1,d0
  230. @@:
  231.     move.l    (a1)+,(a2)+
  232.     dbra    d0,@b
  233.     move.w    #208,d2
  234.     move.w    #$0703+48,d7
  235.  
  236.     move.w    #4-1,d3
  237. 1:
  238.     move.w    #2-1,d4
  239.     move.w    #208,d1
  240. 2:
  241.     move.w    d1,(a6)+
  242.     move.w    d2,(a6)+
  243.     move.w    d7,(a6)+
  244.     move.w    #$0003,(a6)+
  245.     addi.w    #16,d1
  246.     addq.w    #1,d7
  247.     dbra    d4,2b
  248.  
  249.     addi.w    #16,d2
  250.     dbra    d3,1b
  251.  
  252.     movea.l    a0,a1                * â{âuâpâ^ü[âôô]æù
  253.     adda.l    #BOB_K,a1
  254.     move.w    #256-1,d0
  255. @@:
  256.     move.l    (a1)+,(a2)+
  257.     dbra    d0,@b
  258.     move.w    #208,d2
  259.     move.w    #$0803+56,d7
  260.  
  261.     move.w    #4-1,d3
  262. 1:
  263.     move.w    #2-1,d4
  264.     move.w    #240,d1
  265. 2:
  266.     move.w    d1,(a6)+
  267.     move.w    d2,(a6)+
  268.     move.w    d7,(a6)+
  269.     move.w    #$0003,(a6)+
  270.     addi.w    #16,d1
  271.     addq.w    #1,d7
  272.     dbra    d4,2b
  273.  
  274.     addi.w    #16,d2
  275.     dbra    d3,1b
  276.  
  277.     move.w    #$0201,BG_CTRL            * éaéfò\Īéném
  278.  
  279.     moveq.l    #$23,d0
  280.     moveq.l    #5,d1
  281.     moveq.l    #0,d2
  282.     trap    #15                * IOCS _B_LOCATE
  283.     moveq.l    #$21,d0
  284.     lea.l    esc_mess(pc),a1
  285.     trap    #15                * IOCS _B_PRINT
  286.  
  287.     moveq.l    #$23,d0
  288.     moveq.l    #0,d1
  289.     moveq.l    #9,d2
  290.     trap    #15                * IOCS _B_LOCATE
  291.     moveq.l    #$21,d0
  292.     lea.l    chara_name_1(pc),a1
  293.     trap    #15                * IOCS _B_PRINT
  294.     moveq.l    #$23,d0
  295.     moveq.l    #0,d1
  296.     moveq.l    #10,d2
  297.     trap    #15                * IOCS _B_LOCATE
  298.     moveq.l    #$21,d0
  299.     lea.l    chara_name_2(pc),a1
  300.     trap    #15                * IOCS _B_PRINT
  301.  
  302.     moveq.l    #$23,d0
  303.     moveq.l    #11,d1
  304.     moveq.l    #1,d2
  305.     trap    #15                * IOCS _B_LOCATE
  306.     moveq.l    #$21,d0
  307.     lea.l    select_mess(pc),a1
  308.     trap    #15                * IOCS _B_PRINT
  309.     moveq.l    #$1f,d0
  310.     trap    #15                * IOCS _B_CUROFF
  311.  
  312.     move.w    #0,cur1_x            * éPéoâJü[â\âïê╩Æu
  313.     move.w    #7,cur2_x            * éQéoâJü[â\âïê╩Æu
  314.     moveq.l    #0,d3
  315.     moveq.l    #0,d4
  316.     moveq.l    #$01,d7                * æIæ≡ì╧é▌âtâëâO
  317.     tst.w    c_or_h
  318.     beq    @f                * ébéoétÉφÄ₧é═éPéoé╠é▌é╠æIæ≡
  319.     moveq.l    #$03,d7
  320. @@:
  321.     movea.l    #SP_SCROLL,a6
  322.     movea.l    a5,a1
  323.     lea.l    P2_DATA(a5),a2
  324.     move.w    #10,C_NO(a1)            * âLâââëâiâôâoü[é¬éPéOé╠Ä₧é═û│æIæ≡
  325.     move.w    #10,C_NO(a2)
  326.     
  327. chara_select_loop:
  328.     V_WAIT                    * âEâGâCâg
  329.     btst    #0,d7
  330.     beq    player2_select
  331.     bsr    joy_0
  332.     move.w    d0,d1
  333.     lsr.b    #5,d1                * âgâèâKü[îƒÅo
  334.     eori.b    #$ff,d1
  335.     andi.l    #$03,d1                * âCâôâfâbâNâXé╔òsòKùvé╚âfü[â^é≡ìφÅ£
  336.     beq    stick1_check
  337.     move.w    cur1_x(pc),C_NO(a1)        * âLâââëâiâôâoü[âZâbâg
  338.     cmpi.w    #10,C_NO(a2)            * éαé╡æèÄΦé¬é▄é╛æIæ≡é╡é─éóé╚éóé╚éτ
  339.     beq    p1_trig_test            * Ä⌐ò¬é╠ê╙Äué┼âLâââëâJâëü[é≡æIæ≡
  340.     move.w    C_NO(a2),d1
  341.     cmp.w    C_NO(a1),d1            * æèÄΦé¬é╖é┼é╔æIæ≡ì╧é▌é┼ô»âLâââëé╛é┴é╜éτ
  342.     bne    p1_trig_test            * æèÄΦé╞êßéñâLâââëâJâëü[é╔é╖éΘ
  343.     tst.w    C_COL(a2)
  344.     bne    p1_p1_color
  345. p1_p2_color:
  346.     move.w    #1,C_COL(a1)
  347.     bra    @f
  348. p1_trig_test:                    * ëƒé│éΩé╜âgâèâKü[é╔éµéΦâLâââëâJâëü[îêÆΦ
  349.     btst    #6,d0
  350.     bne    p1_p2_color
  351. p1_p1_color:
  352.     clr.w    C_COL(a1)
  353. @@:
  354.     bclr    #0,d7                * éPéoâLâââëæIæ≡è«ù╣
  355.  
  356.     move.b    #1,$00e92001            * é`écéoébélÆΓÄ~
  357.     move.b    #$20,$e840c7            * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
  358. @@:
  359.     tst.b    OPM_DATA
  360.     bmi    @b
  361.     move.b    #$1b,OPM_REG_NO            * âNâìâbâNÉ▌ÆΦ
  362.     bset    #7,OPM_DATA
  363.     move.b    #$08,$00e9a005            * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
  364.     move.b    #$80,$00e840c4            * écélé`ébÉ▌ÆΦ
  365.     move.b    #$04,$00e840c6
  366.     move.b    #$05,$00e840e9
  367.     move.b    #$01,$00e840ed
  368.     move.b    #$05,$00e840f1
  369.     move.b    #$72,$00e840c5
  370.     st    $00e840c0
  371.     move.l    #adpcm_data+GYOH,$00e840cc    * ô]æùî│âAâhâîâX
  372.     move.l    #$00e92003,$00e840d4        * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
  373.     move.w    #706,$00e840ca            * ô]æùâTâCâY
  374.     move.b    #$88,$00e840c7            * ô]æùèJÄn
  375.     move.b    #2,$00e92001            * é`écéoébélö¡É║èJÄn
  376.  
  377.     bra    player2_select
  378.  
  379. stick1_check:                    * âXâeâBâbâNö╗ÆΦ
  380.     tst.w    d3
  381.     bne    stick1_wait
  382.     btst    #2,d0
  383.     bne    @f
  384.     subq.w    #1,cur1_x            * âLâââëâiâôâoü[é≡âLü[é╔Ä└ì█é╠âJü[â\âï
  385.     andi.w    #$0007,cur1_x            * ò\Īê╩Æué≡ô╛éΘ
  386.     lea.l    chara_loc(pc),a4
  387.     move.w    cur1_x(pc),d1
  388.     add.w    d1,d1
  389.     move.w    0(a4,d1.w),(a6)            * âJü[â\âïê┌ô«
  390.  
  391.     move.b    #1,$00e92001            * é`écéoébélÆΓÄ~
  392.     move.b    #$20,$e840c7            * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
  393. 1:
  394.     tst.b    OPM_DATA
  395.     bmi    1b
  396.     move.b    #$1b,OPM_REG_NO            * âNâìâbâNÉ▌ÆΦ
  397.     bclr    #7,OPM_DATA
  398.     move.b    #$08,$00e9a005            * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
  399.     move.b    #$80,$00e840c4            * écélé`ébÉ▌ÆΦ
  400.     move.b    #$04,$00e840c6
  401.     move.b    #$05,$00e840e9
  402.     move.b    #$01,$00e840ed
  403.     move.b    #$05,$00e840f1
  404.     move.b    #$72,$00e840c5
  405.     st    $00e840c0
  406.     move.l    #adpcm_data+BOH,$00e840cc    * ô]æùî│âAâhâîâX
  407.     move.l    #$00e92003,$00e840d4        * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
  408.     move.w    #496,$00e840ca            * ô]æùâTâCâY
  409.     move.b    #$88,$00e840c7            * ô]æùèJÄn
  410.     move.b    #2,$00e92001            * é`écéoébélö¡É║èJÄn
  411.  
  412.     bra    stick1_wait
  413. @@:
  414.     btst    #3,d0
  415.     bne    player2_select
  416.     addq.w    #1,cur1_x
  417.     andi.w    #$0007,cur1_x
  418.     lea.l    chara_loc(pc),a4
  419.     move.w    cur1_x(pc),d1
  420.     add.w    d1,d1
  421.     move.w    0(a4,d1.w),(a6)
  422.  
  423.     move.b    #1,$00e92001            * é`écéoébélÆΓÄ~
  424.     move.b    #$20,$e840c7            * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
  425. 1:
  426.     tst.b    OPM_DATA
  427.     bmi    1b
  428.     move.b    #$1b,OPM_REG_NO            * âNâìâbâNÉ▌ÆΦ
  429.     bclr    #7,OPM_DATA
  430.     move.b    #$08,$00e9a005            * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
  431.     move.b    #$80,$00e840c4            * écélé`ébÉ▌ÆΦ
  432.     move.b    #$04,$00e840c6
  433.     move.b    #$05,$00e840e9
  434.     move.b    #$01,$00e840ed
  435.     move.b    #$05,$00e840f1
  436.     move.b    #$72,$00e840c5
  437.     st    $00e840c0
  438.     move.l    #adpcm_data+BOH,$00e840cc    * ô]æùî│âAâhâîâX
  439.     move.l    #$00e92003,$00e840d4        * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
  440.     move.w    #496,$00e840ca            * ô]æùâTâCâY
  441.     move.b    #$88,$00e840c7            * ô]æùèJÄn
  442.     move.b    #2,$00e92001            * é`écéoébélö¡É║èJÄn
  443.  
  444. stick1_wait:                    * âXâeâBâbâNé¬ëƒé│éΩé┴é╧é╚é╡é╠Ä₧é╠âJü[â\âï
  445.     addq.w    #1,d3                * ê┌ô«é╠ɺîΣ
  446.     btst    #2,d0
  447.     bne    1f
  448.     bra    2f
  449. 1:
  450.     btst    #3,d0
  451.     bne    @f
  452. 2:
  453.     cmpi.w    #15,d3
  454.     ble    player2_select
  455. @@:
  456.     moveq.l    #0,d3
  457.  
  458. player2_select:                    * Åêù¥é═Åπé╞ô»é╢
  459.     tst.w    c_or_h
  460.     beq    select_exit
  461.  
  462.     btst    #1,d7
  463.     beq    select_exit
  464.     bsr    joy_1
  465.     move.w    d0,d1
  466.     lsr.b    #5,d1
  467.     eori.b    #$ff,d1
  468.     andi.l    #$03,d1
  469.     beq    stick2_check
  470.     move.w    cur2_x(pc),C_NO(a2)
  471.     cmpi.w    #10,C_NO(a1)
  472.     beq    p2_trig_test
  473.     move.w    C_NO(a1),d1
  474.     cmp.w    C_NO(a2),d1
  475.     bne    p2_trig_test
  476.     tst.w    C_COL(a1)
  477.     bne    p2_p1_color
  478. p2_p2_color:
  479.     move.w    #1,C_COL(a2)
  480.     bra    @f
  481. p2_trig_test:
  482.     btst    #6,d0
  483.     bne    p2_p2_color
  484. p2_p1_color:
  485.     clr.w    C_COL(a2)
  486. @@:
  487.     bclr    #1,d7
  488.  
  489.     move.b    #1,$00e92001            * é`écéoébélÆΓÄ~
  490.     move.b    #$20,$e840c7            * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
  491. @@:
  492.     tst.b    OPM_DATA
  493.     bmi    @b
  494.     move.b    #$1b,OPM_REG_NO            * âNâìâbâNÉ▌ÆΦ
  495.     bset    #7,OPM_DATA
  496.     move.b    #$08,$00e9a005            * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
  497.     move.b    #$80,$00e840c4            * écélé`ébÉ▌ÆΦ
  498.     move.b    #$04,$00e840c6
  499.     move.b    #$05,$00e840e9
  500.     move.b    #$01,$00e840ed
  501.     move.b    #$05,$00e840f1
  502.     move.b    #$72,$00e840c5
  503.     st    $00e840c0
  504.     move.l    #adpcm_data+GYOH,$00e840cc    * ô]æùî│âAâhâîâX
  505.     move.l    #$00e92003,$00e840d4        * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
  506.     move.w    #706,$00e840ca            * ô]æùâTâCâY
  507.     move.b    #$88,$00e840c7            * ô]æùèJÄn
  508.     move.b    #2,$00e92001            * é`écéoébélö¡É║èJÄn
  509.  
  510.     bra    select_exit
  511.  
  512. stick2_check:
  513.     tst.w    d4
  514.     bne    stick2_wait
  515.     btst    #2,d0
  516.     bne    @f
  517.     subq.w    #1,cur2_x
  518.     andi.w    #$0007,cur2_x
  519.     lea.l    chara_loc(pc),a4
  520.     move.w    cur2_x(pc),d1
  521.     add.w    d1,d1
  522.     move.w    0(a4,d1.w),8(a6)
  523.  
  524.     move.b    #1,$00e92001            * é`écéoébélÆΓÄ~
  525.     move.b    #$20,$e840c7            * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
  526. 1:
  527.     tst.b    OPM_DATA
  528.     bmi    1b
  529.     move.b    #$1b,OPM_REG_NO            * âNâìâbâNÉ▌ÆΦ
  530.     bclr    #7,OPM_DATA
  531.     move.b    #$08,$00e9a005            * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
  532.     move.b    #$80,$00e840c4            * écélé`ébÉ▌ÆΦ
  533.     move.b    #$04,$00e840c6
  534.     move.b    #$05,$00e840e9
  535.     move.b    #$01,$00e840ed
  536.     move.b    #$05,$00e840f1
  537.     move.b    #$72,$00e840c5
  538.     st    $00e840c0
  539.     move.l    #adpcm_data+BOH,$00e840cc    * ô]æùî│âAâhâîâX
  540.     move.l    #$00e92003,$00e840d4        * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
  541.     move.w    #496,$00e840ca            * ô]æùâTâCâY
  542.     move.b    #$88,$00e840c7            * ô]æùèJÄn
  543.     move.b    #2,$00e92001            * é`écéoébélö¡É║èJÄn
  544.  
  545.     bra    stick2_wait
  546. @@:
  547.     btst    #3,d0
  548.     bne    select_exit
  549.     addq.w    #1,cur2_x
  550.     andi.w    #$0007,cur2_x
  551.     lea.l    chara_loc(pc),a4
  552.     move.w    cur2_x(pc),d1
  553.     add.w    d1,d1
  554.     move.w    0(a4,d1.w),8(a6)
  555.  
  556.     move.b    #1,$00e92001            * é`écéoébélÆΓÄ~
  557.     move.b    #$20,$e840c7            * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
  558. 1:
  559.     tst.b    OPM_DATA
  560.     bmi    1b
  561.     move.b    #$1b,OPM_REG_NO            * âNâìâbâNÉ▌ÆΦ
  562.     bclr    #7,OPM_DATA
  563.     move.b    #$08,$00e9a005            * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
  564.     move.b    #$80,$00e840c4            * écélé`ébÉ▌ÆΦ
  565.     move.b    #$04,$00e840c6
  566.     move.b    #$05,$00e840e9
  567.     move.b    #$01,$00e840ed
  568.     move.b    #$05,$00e840f1
  569.     move.b    #$72,$00e840c5
  570.     st    $00e840c0
  571.     move.l    #adpcm_data+BOH,$00e840cc    * ô]æùî│âAâhâîâX
  572.     move.l    #$00e92003,$00e840d4        * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
  573.     move.w    #496,$00e840ca            * ô]æùâTâCâY
  574.     move.b    #$88,$00e840c7            * ô]æùèJÄn
  575.     move.b    #2,$00e92001            * é`écéoébélö¡É║èJÄn
  576.  
  577. stick2_wait:
  578.     addq.w    #1,d4
  579.     btst    #2,d0
  580.     bne    1f
  581.     bra    2f
  582. 1:
  583.     btst    #3,d0
  584.     bne    @f
  585. 2:
  586.  
  587.     cmpi.w    #15,d4
  588.     ble    select_exit
  589. @@:
  590.     moveq.l    #0,d4
  591.  
  592. select_exit:
  593.     moveq.l    #0,d0
  594.     btst    #1,KEY_TBL.w            * édérébâLü[é¬ëƒé│éΩé╜ÅΩìçâQü[âÇÅIù╣
  595.     bne    esc_exit
  596.     tst.w    d7                * âLâââëé¬ô±Élé╞éαîêé▄é┴é─é╚é»éΩé╬ô¬é╠Åêù¥é╓
  597.     bne    chara_select_loop
  598.  
  599.     move.w    #30-1,d0            * é┐éσéóé╞é╡é╜âEâGâCâgüiû±éOüDéTòbüj
  600. @@:
  601.     V_WAIT
  602.     dbra    d0,@b
  603.  
  604.     moveq.l    #1,d0
  605. esc_exit:
  606.     movea.l    #SP_SCROLL,a6            * ò\ĪâXâvâëâCâgé≡ëµû╩èOé╓
  607.     move.w    #66-1,d1
  608. @@:
  609.     clr.w    (a6)
  610.     lea.l    8(a6),a6
  611.     dbra    d1,@b
  612.  
  613.     move.w    d0,d3
  614.  
  615.     moveq.l    #$23,d0
  616.     moveq.l    #5,d1
  617.     moveq.l    #0,d2
  618.     trap    #15                * IOCS _B_LOCATE
  619.     moveq.l    #$21,d0
  620.     lea.l    no_mess(pc),a1
  621.     trap    #15                * IOCS _B_PRINT
  622.     moveq.l    #$23,d0
  623.     moveq.l    #0,d1
  624.     moveq.l    #9,d2
  625.     trap    #15                * IOCS _B_LOCATE
  626.     moveq.l    #$21,d0
  627.     lea.l    no_mess(pc),a1
  628.     trap    #15                * IOCS _B_PRINT
  629.     moveq.l    #$23,d0
  630.     moveq.l    #0,d1
  631.     moveq.l    #10,d2
  632.     trap    #15                * IOCS _B_LOCATE
  633.     moveq.l    #$21,d0
  634.     lea.l    no_mess(pc),a1
  635.     trap    #15                * IOCS _B_PRINT
  636.  
  637.     moveq.l    #$23,d0
  638.     moveq.l    #11,d1
  639.     moveq.l    #1,d2
  640.     trap    #15                * IOCS _B_LOCATE
  641.     moveq.l    #$21,d0
  642.     lea.l    no_mess(pc),a1
  643.     trap    #15                * IOCS _B_PRINT
  644.     moveq.l    #$1f,d0
  645.     trap    #15                * IOCS _B_CUROFF
  646.  
  647. @@:
  648.     btst    #1,KEY_TBL.w            * édérébâLü[é¬ëƒé│éΩé┴é╧é╚é╡é╠Ä₧é╠Åêù¥
  649.     bne    @b
  650.  
  651.     move.w    d3,d0
  652.  
  653.     rts
  654.  
  655. *---------------------------------------
  656. *    âLâââëâNâ^ü[âfü[â^âZâbâg
  657. *
  658. chara_set:
  659.     move.w    C_NO(a1),d2
  660.     add.w    d2,d2
  661.     add.w    d2,d2
  662.     lea.l    chara_tbl(pc),a4
  663.     movea.l    0(a4,d2.w),a4
  664.  
  665.     clr.w    C_M_F(a1)
  666.     clr.w    C_AK_F(a1)
  667.     move.w    #1,C_AM_F(a1)
  668.     clr.w    C_HIT_C(a1)
  669.     clr.w    C_ANI_WC(a1)
  670.     clr.w    C_CNT(a1)
  671.     clr.w    C_HIT_F(a1)
  672.     move.w    #240,C_K(a1)
  673.     clr.w    C_B_JOY(a1)
  674.     jsr    (a4)
  675.  
  676.     rts
  677. *---------------------------------------
  678.     .even
  679. chara_loc:
  680.     .dc.w    16,48,80,112,144,176,208,240
  681. cur1_x:
  682.     .dc.w    0
  683. cur2_x:
  684.     .dc.w    7
  685. chara_name_1:
  686.     .dc.b    'è┐Äaü@ü@HANGü@ü@GRIDü@ü@NANCY',0
  687.     .even
  688. chara_name_2:
  689.     .dc.b    'ü@ü@JOHNü@ü@JUI ü@ü@DANNY ü@ BOB',0
  690.     .even
  691. *---------------------------------------
  692.